package com.quanyan.stadium.service;

import com.quanyan.api.APIResponse;
import com.quanyan.stadium.api.req.*;
import com.quanyan.stadium.api.resp.RespInitEvaluate;
import com.quanyan.stadium.api.resp.RespLocation;
import com.quanyan.stadium.api.resp.RespRadarChart;
import com.quanyan.stadium.api.resp.RespUserRadarChart;
import com.quanyan.stadium.entity.vo.Location;
import com.quanyan.stadium.entity.vo.UpdateGameRadar;
import com.quanyan.stadium.entity.vo.User;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: zyq
 * Date: 2016/6/21 0021
 * Time: 20:10
 */

public interface RadarChartService {


    /**
     * 评价用户能力
     * @param request
     * @return
     */
    APIResponse commitUserRadarChart(ReqEvaluateGame request);

    /**
     *
     * @param request
     * @return
     */
    RespUserRadarChart userRadarChart(ReqUserRadarChart request);

    /**
     *
     * @param request
     * @return
     */
    List<RespUserRadarChart> queryUserRadarChartBatch(ReqUserRadarChartBatch request);

    /**
     * 初始自评
     * @param request
     * @return
     */
    APIResponse selfEvaluate(ReqRadarSelfEvaluate request);

    /**
     * 评价用户
     * @param request
     * @return
     */
    APIResponse evaluateGame(ReqEvaluateGame request);

    /**
     * 初始化比赛评价
     * @param request
     * @return
     */
    APIResponse<RespInitEvaluate> initEvaluation(ReqInitEvaluate request);



    /**
     * 查询位置列表
     * @param request
     * @return
     */
    APIResponse<RespLocation> evaluationLevel(ReqUserRadarChart request);

    void updateGameRadarChart(UpdateGameRadar request);

    /**
     * 判断用户是否有已经初始化能力
     * @param request
     * @return
     */
    APIResponse<Boolean> checkRadarData(ReqUserRadarChart request);


    APIResponse<List<User>> commitUserList(ReqCommitUser request);

}
